// main.js

// 控制应用生命周期和创建原生浏览器窗口的模组
const { app, BrowserWindow } = require('electron')
const path = require('path')
/* const http =require("http");
var fs = require('fs');



// 创建createServer方法用于接受http客户端请求及返回响应的http服务器程序
var server = http.createServer();
// 监听客户端请求
// 1.返回文字信息
server.on('request', (req,res) => {
  // 设置响应头 响应为纯文本
  res.setHeader("Content-type","text/plain;charset=utf-8"); 
  if(req.url.startsWith("/live2d-widget")){
    fs.readFile(("."+req.url),(err,data)=>{
      if(data){
        res.end(data);
      }else{
       var files= fs.readdirSync("./");
          // 1.返回文字信息
          res.end(files.toString()); // 必须结束，不然浏览器会被刮起
      }
    });
  }
  
})
// 通过http对象中的listen方法指定服务器的使用端口及服务器绑定地址
server.listen(4000, '127.0.0.1');
 */

function createWindow () {
  // 创建浏览器窗口
  const mainWindow = new BrowserWindow({
    x: 0,
    y: 1080-310,
    width: 300 ,
    height: 320,
    frame: false, 
    transparent: true,
    alwaysOnTop:true
  })

  // 加载 index.html
  mainWindow.loadFile('demo.html')

  // 打开开发工具
  // mainWindow.webContents.openDevTools()
}

// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {
  createWindow()

  app.on('activate', function () {
    // 通常在 macOS 上，当点击 dock 中的应用程序图标时，如果没有其他
    // 打开的窗口，那么程序会重新创建一个窗口。
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

// 除了 macOS 外，当所有窗口都被关闭的时候退出程序。 因此，通常对程序和它们在
// 任务栏上的图标来说，应当保持活跃状态，直到用户使用 Cmd + Q 退出。
app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') app.quit()
})

// 在这个文件中，你可以包含应用程序剩余的所有部分的代码，
// 也可以拆分成几个文件，然后用 require 导入。